/*
 * Copyright (c) 2021，上海福宇龙汽车科技有限公司
 * All rights reserved.
 * 文件名称: adc2_rte.h
 * 摘要:
 * 当前版本: V1.0.0 周伟
 * Date: 2024-03-28
 * 历史版本: Vx.x.x，编写者/修改者，修改时间，修改内容（重大发布时，总结重点变更内容）
 */
#ifndef _ADC2_RTE_H
#define _ADC2_RTE_H
#include <stdint.h>
#include "adc.h"
#define ADC2_MAX (10000U)

typedef enum
{
    PA7_ADC2_INP7,/*锁舌位置检测*/
    PC0_ADC2_INP10,/*产品供电电压AD检测*/
    PC1_ADC2_INP11,/*静态电流AD检测*/
    PC2_C_ADC2_INP0,/*工装供电电压AD检测*/
    PC3_C_ADC2_INP1,
    ADC2_PINMAX
}ADC2_CH;

typedef struct
{
    uint32_t  ADC2_Collection_Count;                 /*采集次数*/
    ADC2_INT_flag_result  ADC2_init_sampling;                    /*初始化采集一次标致*/
    uint32_t ADC2_raw_value[ADC2_PINMAX];/*adc原始数据*/
    uint32_t ADC2_mean_value[ADC2_PINMAX]; /*adc平均值数据*/
}ADC2_data;

/*
 * 函数介绍: 返回初始化采集一次标致
 * 参数:
 * 返回值: {*}
 * 备注:
 */
ADC2_INT_flag_result ADC2_rt_init_sampling(void);

/*
 * 函数介绍: ADC2初始化
 * 参数:
 * 返回值: {*}
 * 备注:
 */
void ADC2_rte_init(void);

/*
 * 函数介绍: ADC2采样每个通道原始值10次
 * 参数:
 * 返回值: {*}
 * 备注:
 */
void ADC2_Calculate_raw_value(void);

/*
 * 函数介绍: 返回系统电压值
 * 参数:
 * 返回值: {*}
 * 备注:
 */
float Rt_ADC2_CH_v(ADC2_CH ADC2_ch);

#endif
